﻿package net.wangit;

import net.wangit.context.ActionContext;

/**
 * 元素对象
 * 
 * @author watson Feb 24, 2010
 */
public interface Element extends Cloneable {
	// 取得元素编号。
	public abstract String getId();

	// 取得元素名称。
	public abstract String getName();

	// 取得元素的子对象。
	public abstract Object getObject();

	// 取得TD占列数值。
	public abstract int getTdColSpan();

	// 取得TD占行数值。
	public abstract int getTdRowSpan();

	// 取得值对应的文本，例如下拉等带枚举选项的元素将返回值对应说明文字。
	public abstract String getText(ActionContext actioncontext, String s);

	// 起始行序号（含）至结束行序号（含）的扩展属性整体下移。
	public abstract void moveExtendedAttribute(int i, int j);

	// 设置样式名称。
	public abstract void setCss(int i, String s);

	// 设置样式名称。
	public abstract void setCss(String s);

	// 设置定制属性。
	public abstract void setCustom(int i, String s);

	// 设置定制属性。
	public abstract void setCustom(String s);

	// 设置默认值。
	public abstract void setDefaultValue(int i, String s);

	// 设置默认值。
	public abstract void setDefaultValue(String s);

	// 设置高度。
	public abstract void setHeight(int i);

	// 设置高度。
	public abstract void setHeight(int i, int j);

	// 设置HTML代码，不为null时，将直接输出HTML代码，忽略所有其他属性。
	public abstract void setHtml(String s);

	// 设置HTML代码，不为null时，将直接输出HTML代码，忽略所有其他属性。
	public abstract void setHtml(int i, String s);

	// 设置链接。
	public abstract void setLink(String s);

	// 设置链接。
	public abstract void setLink(int i, String s);

	// 设置元素名称。
	public abstract void setName(String s);

	// 设置元素名称。
	public abstract void setName(int i, String s);

	// 设置元素的子对象。
	public abstract void setObject(Object obj);

	// 设置元素的子对象。
	public abstract void setObject(int i, Object obj);

	// 设置前缀字符串。
	public abstract void setPrefix(String s);

	// 设置前缀字符串。
	public abstract void setPrefix(int i, String s);

	// 设置元素显示模式。
	public abstract void setShowMode(int i);

	// 设置元素显示模式。
	public abstract void setShowMode(int i, int j);

	// 设置后缀字符串。
	public abstract void setSuffix(String s);

	// 设置后缀字符串。
	public abstract void setSuffix(int i, String s);

	// 设置TD的水平排列方式。
	public abstract void setTdAlign(int i);

	// 设置TD的水平排列方式。
	public abstract void setTdAlign(int i, int j);

	// 设置TD占列数值。
	public abstract void setTdColSpan(int i);

	// 设置TD样式名称。
	public abstract void setTdCss(String s);

	// 设置TD样式名称。
	public abstract void setTdCss(int i, String s);

	// 设置TD的定制属性。
	public abstract void setTdCustom(String s);

	// 设置TD的定制属性。
	public abstract void setTdCustom(int i, String s);

	// 设置TD高度。
	public abstract void setTdHeight(int i);

	// 设置TD高度。
	public abstract void setTdHeight(int i, int j);

	// 设置TD高度模式。
	public abstract void setTdHeightMode(int i);

	// 设置TD下间距，单位为象素。
	public abstract void setTdPaddingBottom(int i);

	// 设置TD左间距，单位为象素。
	public abstract void setTdPaddingLeft(int i);

	// 设置TD右间距，单位为象素。
	public abstract void setTdPaddingRight(int i);

	// 设置TD上间距，单位为象素。
	public abstract void setTdPaddingTop(int i);

	// 设置TD占行数值。
	public abstract void setTdRowSpan(int i);

	// 设置TD的垂直排列方式。
	public abstract void setTdVerticalAlign(int i);

	// 设置TD的垂直排列方式。
	public abstract void setTdVerticalAlign(int i, int j);

	// 设置TD宽度。
	public abstract void setTdWidth(int i);

	// 设置TD宽度模式。
	public abstract void setTdWidthMode(int i);

	// 设置标题。
	public abstract void setTitle(String s);

	// 设置标题。
	public abstract void setTitle(int i, String s);

	// 设置宽度。
	public abstract void setWidth(int i);

	// 设置宽度。
	public abstract void setWidth(int i, int j);

	// 将元素对象转换为HTML字符串。
	public abstract void write(ActionContext actioncontext,
			StringBuffer stringbuffer, int i, Row row);

	// 将元素对应的TD对象转换为HTML字符串。
	public abstract void writeTd(ActionContext actioncontext,
			StringBuffer stringbuffer, int i);

}
